package com.zc.service.center;

import com.zc.pojo.OrderStatus;
import com.zc.pojo.Orders;
import com.zc.pojo.vo.OrderStatusCountsVO;
import com.zc.utils.PagedGridResult;
import io.swagger.models.auth.In;

import java.util.List;

/**
 * @author 曾川
 * @version 1.0.0
 * @ClassName MyOrdersService.java
 * @Description TODO
 * @createTime 2021年08月04日 23:25:00
 */
public interface MyOrdersService {

    /**
     * 查询我的订单列表
     * @param userId
     * @param orderStatus
     * @param page
     * @param pageSize
     * @return
     */
    public PagedGridResult queryMyOrders(String userId,
                                         Integer orderStatus,
                                         Integer page,
                                         Integer pageSize);

    /**
     * 订单状态 ----> 商家发货
     * @param orderId
     */
    public void updateDeliverOrderStatus(String orderId);


    /**
     * 查询我的订单
     * @param orderId
     * @param userId
     * @return
     */
    public Orders queryMyOrder(String userId, String orderId);

    /**
     * 更新订单状态 —> 确认收货
     *
     * @return
     */
    public boolean updateReceiveOrderStatus(String orderId);

    /**
     * 删除订单（逻辑删除）
     * @param userId
     * @param orderId
     * @return
     */
    public boolean deleteOrder(String userId, String orderId);


    /**
     * 查询用户订单数
     * @param userId
     */
    public OrderStatusCountsVO getOrderStatusCounts(String userId);

    /**
     * 获得分页的订单动向
     * @param userId
     * @return
     */
    public PagedGridResult getMyOrderTrend(String userId,
                                           Integer page,
                                           Integer pageSize);
}
